package com.xuecheng.media.service;

import com.xuecheng.media.model.po.MediaProcess;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: chenheng
 * @Date: 2023/12/25 14:44
 * 媒体任务处理接口
 */

public interface MediaFileProcessService {
    /**
     * 查询待处理的任务，根据模运算
     * @param shardTotal 分片总个数
     * @param shardIndex 分片处理器序号
     * @param count 查询的个数
     * @return 返回MediaProcess集合
     */
    public List<MediaProcess> selectListByShardIndex(int shardTotal,int shardIndex,int count);

    /**
     * @param id 争抢任务---id
     * @return boolean false == 争抢失败，true=== 成功
     */
    public boolean startTask(Long id);

    /**
     * @description 保存任务结果
     * @param taskId  任务id
     * @param status 任务状态
     * @param fileId  文件id
     * @param url url
     * @param errorMsg 错误信息
     * @return void
     * @author Mr.M
     * @date 2022/10/15 11:29
     */
    void saveProcessFinishStatus(Long taskId,String status,String fileId,String url,String errorMsg);
}
